<TagAttribute("glow","glw!","????","????",1,340)>
Public Class GLOW_TAG
Inherits HaloTag
Public Const Extension as String = "glow"
Public Const FourCC as String = "glw!"
Public Const ParentFourCC as String = "????"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 1
Public Const HeaderLength as Integer = 340

''' <summary>
''' the marker name that the glow should be attached to
''' </summary>
<TagField("attachment marker", 32, 8)>
Public attachment_marker as String

''' <summary>
''' the number of particles that comprise the glow system
''' </summary>
<TagField("number of particles", 1, 23)>
Public number_of_particles as Short

''' <summary>
''' particles behavior on reaching the end of an object
''' </summary>
<TagField("boundary effect", 1, 17)>
Public boundary_effect as Short

''' <summary>
''' distribution of the normal particles about the object
''' </summary>
<TagField("normal particle distribution", 1, 17)>
Public normal_particle_distribution as Short

''' <summary>
''' distribution of the trailing particles about the object
''' </summary>
<TagField("trailing particle distribution", 1, 17)>
Public trailing_particle_distribution as Short

''' <summary>
''' 
''' </summary>
<TagField("glow flags", 1, 20)>
Public glow_flags as Integer

''' <summary>
''' 
''' </summary>
<TagField("", 28, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_1 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_2 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 4, -1)>
Public padding_3 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_4 as Byte()

''' <summary>
''' radians per second
''' </summary>
<TagField("particle rotational velocity", 1, 0)>
Public particle_rotational_velocity as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("particle rot vel mul low", 1, 0)>
Public particle_rot_vel_mul_low as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("particle rot vel mul high", 1, 0)>
Public particle_rot_vel_mul_high as Single

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment_1 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_5 as Byte()

''' <summary>
''' in radians per second
''' </summary>
<TagField("effect rotational velocity", 1, 0)>
Public effect_rotational_velocity as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("effect rot vel mul low", 1, 0)>
Public effect_rot_vel_mul_low as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("effect rot vel mul high", 1, 0)>
Public effect_rot_vel_mul_high as Single

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment_2 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_6 as Byte()

''' <summary>
''' in world units per second
''' </summary>
<TagField("effect translational velocity", 1, 0)>
Public effect_translational_velocity as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("effect trans vel mul low", 1, 0)>
Public effect_trans_vel_mul_low as Single

''' <summary>
''' multiplied by overall velocity; only used if controlled by attachment
''' </summary>
<TagField("effect trans vel mul high", 1, 0)>
Public effect_trans_vel_mul_high as Single

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment_3 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_7 as Byte()

''' <summary>
''' in world units
''' </summary>
<TagField("min distance particle to object", 1, 0)>
Public min_distance_particle_to_object as Single

''' <summary>
''' in world units
''' </summary>
<TagField("max distance particle to object", 1, 0)>
Public max_distance_particle_to_object as Single

''' <summary>
''' multiplied by particle distance; only used if controlled by attachment
''' </summary>
<TagField("distance to object mul low", 1, 0)>
Public distance_to_object_mul_low as Single

''' <summary>
''' multiplied by particle distance; only used if controlled by attachment
''' </summary>
<TagField("distance to object mul high", 1, 0)>
Public distance_to_object_mul_high as Single

''' <summary>
''' 
''' </summary>
<TagField("", 8, -1)>
Public padding_8 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment_4 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_9 as Byte()

''' <summary>
''' size of particles
''' </summary>
<TagField("particle size bounds:world units", 2, 1)>
Public particle_size_bounds as Single()

''' <summary>
''' multiplied by particle size; only used if controlled by attachment
''' </summary>
<TagField("size attachment multiplier", 2, 1)>
Public size_attachment_multiplier as Single()

''' <summary>
''' 
''' </summary>
<TagField("attachment", 1, 17)>
Public attachment_5 as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_10 as Byte()

''' <summary>
''' the color of all particles will vary between color bound 0 and color bound 1
''' </summary>
<TagField("color_bound_0", 4, 3)>
Public color_bound_0 as Single()

''' <summary>
''' the color of all particles will vary between color bound 0 and color bound 1
''' </summary>
<TagField("color_bound_1", 4, 3)>
Public color_bound_1 as Single()

''' <summary>
''' used to scale the particle color; only used if controlled by attachment
''' </summary>
<TagField("scale color 0", 4, 3)>
Public scale_color_0 as Single()

''' <summary>
''' used to scale the particle color; only used if controlled by attachment
''' </summary>
<TagField("scale color 1", 4, 3)>
Public scale_color_1 as Single()

''' <summary>
''' for glow effects that dynamically control particle color; sets rate of change
''' </summary>
<TagField("color rate of change", 1, 0)>
Public color_rate_of_change as Single

''' <summary>
''' percentage of the glow that is fading at any given time
''' </summary>
<TagField("fading percentage of glow", 1, 0)>
Public fading_percentage_of_glow as Single

''' <summary>
''' frequency in Hz that trailing particles are generated:Hz
''' </summary>
<TagField("particle generation freq", 1, 0)>
Public particle_generation_freq as Single

''' <summary>
''' seconds that a trailing particle remains in existence:s
''' </summary>
<TagField("lifetime of trailing particles", 1, 0)>
Public lifetime_of_trailing_particles as Single

''' <summary>
''' 
''' </summary>
<TagField("velocity of trailing particles:wu/s", 1, 0)>
Public velocity_of_trailing_particles as Single

''' <summary>
''' 
''' </summary>
<TagField("trailing particle minimum t", 1, 0)>
Public trailing_particle_minimum_t as Single

''' <summary>
''' 
''' </summary>
<TagField("trailing particle maximum t", 1, 0)>
Public trailing_particle_maximum_t as Single

''' <summary>
''' 
''' </summary>
<TagField("", 52, -1)>
Public padding_11 as Byte()

''' <summary>
''' 
''' </summary>
<TagField("texture", 16, 10)>
Public texture as New TAG_REFERENCE

End Class
